Various data processing rendering components are known in the prior art. Such components translate a series of instructions/commands into specific rendering operations. A graphics adapter acts as an interface between a computer and a computer display device. The graphics adapter accepts drawing commands from a data processing computer or microprocessor, translates these commands, and generates the appropriate driving signals used to drive and display an image on a computer display. A printer adapter similarly accepts printing commands, interprets these commands, and generates the driving signals used to actuate the printer's electrical, electromagnetic, and/or laser-controlled print engine.
These types of adapters are designed to accept a known and defined syntax or command set. Examples of such graphics command sets are PHIGS, GL, and GKS. These command sets contain the actual drawing commands used to generate graphical displays on a data processing systems' display device. Examples of data streams sent to a rendering printer adapter are Postscript.sup.1 and IPDS. The rendering commands sent to a rendering adapter are generated from some type of command generator. This command generator could be, for example, an drawing/rendering application program running on a data processing computer. Such an application program could be running either locally within the same processing system which contains the graphics adapter, or remotely where the application program is running on a processing system separate from the system containing the graphics adapter and display. In the remote configuration, drawing commands would be transmitted from the application processing system to the drawing system via conventional telecommunications techniques. Various command sets have evolved over the years which correspond to changes in graphics adapter technology. For example, early command sets supported 2-dimensional graphics adapters, which were only capable of displaying 2-dimensional objects. Technological improvements in electronic packaging density have resulted in 3-dimensional graphics adapters being introduced into the marketplace. As existing 2-d command sets could not take advantage of the new functionality contained within these 3-d graphics adapters, new command sets were created to support these 3-d graphics adapters. In addition, differing 3-d command sets have evolved which conform to various industry de-facto and international standards. In the prior art, these graphics adapters have generally been designed to handle a single type of command set. This single-command set support was required to maximize the performance of the graphics adapter's ability to accept drawing commands and render a drawing on the processing system display or printer. This single-command set support was also desired in order to minimize system costs, as the number and complexity of rendering adapter components increases substantially if more than a single command set were to be supported. This is due to increases in control circuitry and/or rendering adapter microcode required to detect and interpret multiple command set data streams. In general, a given user environment does not want the increased overhead and associated performance degradation when the processing system actually being used is generating a single command set. Providing a multi-command set function causes an end-user to unnecessarily shoulder an increase in system overhead and cost. FNT .sup.1 Trademark of Adobe Systems, Inc.
However, some end-users do have a need for supporting multiple command sets, and are willing to pay the costs and absorb the performance degradations associated with such multi-command set support. To meet this demand of supplying multiple command set functionality, prior art systems have provided two distinct command set interpreters in the rendering adapter, one for each respective command set. This has resulted in a substantial increase in cost over and above a single command set rendering adapter. This increase in cost results from increases in volatile and/or nonvolatile data processing memory and other control electronics used to switch between command sets efficiently in order to minimize the resultant system performance degradation. Today's prior art does not address or provide for a system which can support multiple command sets for a rendering adapter in a cost/performance efficient manner.